home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EuroCD 3
/
EuroCD 3.iso
/
Programming
/
SecalDemo
/
Inc
/
intuition
/
intuition.inc
< prev
next >
Wrap
Text File
|
1998-06-24
|
14KB
|
660 lines
include "inc/exec/types.inc";
include "inc/graphics/gfx.inc";
include "inc/graphics/clip.inc";
include "inc/graphics/view.inc";
include "inc/graphics/rastport.inc";
include "inc/graphics/layers.inc";
include "inc/graphics/text.inc";
include "inc/exec/ports.inc";
include "inc/devices/inputevent.inc";
include "inc/utility/tagitem.inc";
struct Menu is
NextMenu:ulong;
LeftEdge,TopEdge:word;
Width,Height:word;
Flags:uword;
MenuName:ulong;
FirstItem:ulong;
JazzX,JazzY,BeatX,BeatY:word;
;
def MENUENABLED = $0001;
def MIDRAWN = $0100;
struct MenuItem is
NextItem:ulong;
LeftEdge,TopEdge:word;
Width,Height:word;
Flags:uword;
MutualExclude:long;
ItemFill:ulong;
SelectFill:ulong;
Command:byte;
SubItem:ulong;
NextSelect:uword;
;
def CHECKIT = $0001;
def ITEMTEXT = $0002;
def COMMSEQ = $0004;
def MENUTOGGLE = $0008;
def ITEMENABLED = $0010;
def HIGHFLAGS = $00c0;
def HIGHIMAGE = $0000;
def HIGHCOMP = $0040;
def HIGHBOX = $0080;
def HIGHNONE = $00c0;
def CHECKED = $0100;
def ISDRAWN = $1000;
def HIGHITEM = $2000;
def MENUTOGGLED = $4000;
struct Requester is
OlderRequest:ulong;
LeftEdge,TopEdge:word;
Width,Height:word;
RelLeft,RelTop:word;
ReqGadget:ulong;
ReqBorder:ulong;
ReqText:ulong;
Flags:uword;
BackFill:ubyte;
ReqLayer:ulong;
ReqPad1[32]:ubyte;
ImageBMap:ulong;
RWindow:ulong;
ReqImage:ulong;
ReqPad2[32]:ubyte;
;
def POINTREL = $0001;
def PREDRAWN = $0002;
def NOISYREQ = $0004;
def SIMPLEREQ = $0010;
def USEREQIMAGE = $0020;
def NOREQBACKFILL = $0040;
def REQOFFWINDOW = $1000;
def REQACTIVE = $2000;
def SYSREQUEST = $4000;
def DEFERREFRESH = $8000;
struct Gadget is
NextGadget:ulong;
LeftEdge,TopEdge:word;
Width,Height:word;
Flags:uword;
Activation:uword;
GadgetType:uword;
GadgetRender:ulong;
SelectRender:ulong;
GadgetText:ulong;
MutualExclude:long;
SpecialInfo:ulong;
GadgetID:uword;
UserData:ulong;
;
struct ExtGadget is
NextGadget:ulong;
LeftEdge,TopEdge:word;
Width,Height:word;
Flags:uword;
Activation:uword;
GadgetType:uword;
GadgetRender:ulong;
SelectRender:ulong;
GadgetText:ulong;
MutualExclude:long;
SpecialInfo:ulong;
GadgetID:uword;
UserData:ulong;
MoreFlags:ulong;
BoundsLeftEdge:word;
BoundsTopEdge:word;
BoundsWidth:word;
BoundsHeight:word;
;
def GFLG_GADGHIGHBITS = $0003;
def GFLG_GADGHCOMP = $0000;
def GFLG_GADGHBOX = $0001;
def GFLG_GADGHIMAGE = $0002;
def GFLG_GADGHNONE = $0003;
def GFLG_GADGIMAGE = $0004;
def GFLG_RELBOTTOM = $0008;
def GFLG_RELRIGHT = $0010;
def GFLG_RELWIDTH = $0020;
def GFLG_RELHEIGHT = $0040;
def GFLG_RELSPECIAL = $4000;
def GFLG_SELECTED = $0080;
def GFLG_DISABLED = $0100;
def GFLG_LABELMASK = $3000;
def GFLG_LABELITEXT = $0000;
def GFLG_LABELSTRING = $1000;
def GFLG_LABELIMAGE = $2000;
def GFLG_TABCYCLE = $0200;
def GFLG_STRINGEXTEND = $0400;
def GFLG_IMAGEDISABLE = $0800;
def GFLG_EXTENDED = $8000;
def GACT_RELVERIFY = $0001;
def GACT_IMMEDIATE = $0002;
def GACT_ENDGADGET = $0004;
def GACT_FOLLOWMOUSE = $0008;
def GACT_RIGHTBORDER = $0010;
def GACT_LEFTBORDER = $0020;
def GACT_TOPBORDER = $0040;
def GACT_BOTTOMBORDER = $0080;
def GACT_BORDERSNIFF = $8000;
def GACT_TOGGLESELECT = $0100;
def GACT_BOOLEXTEND = $2000;
def GACT_STRINGLEFT = $0000;
def GACT_STRINGCENTER = $0200;
def GACT_STRINGRIGHT = $0400;
def GACT_LONGINT = $0800;
def GACT_ALTKEYMAP = $1000;
def GACT_STRINGEXTEND = $2000;
def GACT_ACTIVEGADGET = $4000;
def GTYP_GADGETTYPE = $fc00;
def GTYP_SCRGADGET = $4000;
def GTYP_GZZGADGET = $2000;
def GTYP_REQGADGET = $1000;
def GTYP_SYSGADGET = $8000;
def GTYP_SYSTYPEMASK = $00f0;
def GTYP_SIZING = $0010;
def GTYP_WDRAGGING = $0020;
def GTYP_SDRAGGING = $0030;
def GTYP_WDEPTH = $0040;
def GTYP_SDEPTH = $0050;
def GTYP_WZOOM = $0060;
def GTYP_SUNUSED = $0070;
def GTYP_CLOSE = $0080;
def GTYP_WUPFRONT = GTYP_WDEPTH;
def GTYP_SUPFRONT = GTYP_SDEPTH;
def GTYP_WDOWNBACK = GTYP_WZOOM;
def GTYP_SDOWNBACK = GTYP_SUNUSED;
def GTYP_GTYPEMASK = $0007;
def GTYP_BOOLGADGET = $0001;
def GTYP_GADGET0002 = $0002;
def GTYP_PROPGADGET = $0003;
def GTYP_STRGADGET = $0004;
def GTYP_CUSTOMGADGET = $0005;
def GMORE_BOUNDS = $00000001;
def GMORE_GADGETHELP = $00000002;
def GMORE_SCROLLRASTER = $00000004;
struct BoolInfo is
Flags:uword;
Mask:ulong;
Reserved:ulong;
;
def BOOLMASK = $0001;
struct PropInfo is
Flags:uword;
HorizPot:uword;
VertPot:uword;
HorizBody:uword;
VertBody:uword;
CWidth:uword;
CHeight:uword;
HPotRes,VPotRes:uword;
LeftBorder:uword;
TopBorder:uword;
;
def AUTOKNOB = $0001;
def FREEHORIZ = $0002;
def FREEVERT = $0004;
def PROPBORDERLESS = $0008;
def KNOBHIT = $0100;
def PROPNEWLOOK = $0010;
def KNOBHMIN = 6;
def KNOBVMIN = 4;
def MAXBODY = $ffff;
def MAXPOT = $ffff;
struct StringInfo is
Buffer:ulong;
UndoBuffer:ulong;
BufferPos:word;
MaxChars:word;
DispPos:word;
UndoPos:word;
NumChars:word;
DispCount:word;
CLeft,CTop:word;
Extension:ulong;
LongInt:long;
AltKeyMap:ulong;
;
struct IntuiText is
FrontPen,BackPen:ubyte;
DrawMode:ubyte;
LeftEdge:word;
TopEdge:word;
ITextFont:ulong;
IText:ulong;
NextText:ulong;
;
struct Border is
LeftEdge,TopEdge:word;
FrontPen,BackPen:ubyte;
DrawMode:ubyte;
Count:byte;
XY:ulong;
NextBorder:ulong;
;
struct Image is
LeftEdge:word;
TopEdge:word;
Width:word;
Height:word;
Depth:word;
ImageData:ulong;
PlanePick,PlaneOnOff:ubyte;
NextImage:ulong;
;
struct IntuiMessage is
ExecMessage:Message;
Class:ulong;
Code:uword;
Qualifier:uword;
IAddress:ulong;
MouseX,MouseY:word;
Seconds,Micros:ulong;
IDCMPWindow:ulong;
SpecialLink:ulong;
;
struct ExtIntuiMessage is
eim_IntuiMessage:IntuiMessage;
eim_TabletData:ulong;
;
def IDCMP_SIZEVERIFY = $00000001;
def IDCMP_NEWSIZE = $00000002;
def IDCMP_REFRESHWINDOW = $00000004;
def IDCMP_MOUSEBUTTONS = $00000008;
def IDCMP_MOUSEMOVE = $00000010;
def IDCMP_GADGETDOWN = $00000020;
def IDCMP_GADGETUP = $00000040;
def IDCMP_REQSET = $00000080;
def IDCMP_MENUPICK = $00000100;
def IDCMP_CLOSEWINDOW = $00000200;
def IDCMP_RAWKEY = $00000400;
def IDCMP_REQVERIFY = $00000800;
def IDCMP_REQCLEAR = $00001000;
def IDCMP_MENUVERIFY = $00002000;
def IDCMP_NEWPREFS = $00004000;
def IDCMP_DISKINSERTED = $00008000;
def IDCMP_DISKREMOVED = $00010000;
def IDCMP_WBENCHMESSAGE = $00020000;
def IDCMP_ACTIVEWINDOW = $00040000;
def IDCMP_INACTIVEWINDOW = $00080000;
def IDCMP_DELTAMOVE = $00100000;
def IDCMP_VANILLAKEY = $00200000;
def IDCMP_INTUITICKS = $00400000;
def IDCMP_IDCMPUPDATE = $00800000;
def IDCMP_MENUHELP = $01000000;
def IDCMP_CHANGEWINDOW = $02000000;
def IDCMP_GADGETHELP = $04000000;
def IDCMP_LONELYMESSAGE = $80000000;
def CWCODE_MOVESIZE = $0000;
def CWCODE_DEPTH = $0001;
def MENUHOT = $0001;
def MENUCANCEL = $0002;
def MENUWAITING = $0003;
def OKOK = MENUHOT;
def OKABORT = $0004;
def OKCANCEL = MENUCANCEL;
def WBENCHOPEN = $0001;
def WBENCHCLOSE = $0002;
struct IBox is
Left:word;
Top:word;
Width:word;
Height:word;
;
struct Window is
NextWindow:ulong;
LeftEdge,TopEdge:word;
Width,Height:word;
MouseY,MouseX:word;
MinWidth,MinHeight:word;
MaxWidth,MaxHeight:uword;
Flags:ulong;
MenuStrip:ulong;
Title:ulong;
FirstRequest:ulong;
DMRequest:ulong;
ReqCount:word;
WScreen:ulong;
RPort:ulong;
BorderLeft,BorderTop,BorderRight,BorderBottom:byte;
BorderRPort:ulong;
FirstGadget:ulong;
Parent:ulong;
Descendant:ulong;
Pointer:ulong;
PtrHeight:byte;
PtrWidth:byte;
XOffset,YOffset:byte;
IDCMPFlags:ulong;
UserPort:ulong;
WindowPort:ulong;
MessageKey:ulong;
DetailPen,BlockPen:ubyte;
CheckMark:ulong;
ScreenTitle:ulong;
GZZMouseX:word;
GZZMouseY:word;
GZZWidth:word;
GZZHeight:word;
ExtData:ulong;
UserData:ulong;
WLayer:ulong;
IFont:ulong;
MoreFlags:ulong;
;
def WFLG_SIZEGADGET = $00000001;
def WFLG_DRAGBAR = $00000002;
def WFLG_DEPTHGADGET = $00000004;
def WFLG_CLOSEGADGET = $00000008;
def WFLG_SIZEBRIGHT = $00000010;
def WFLG_SIZEBBOTTOM = $00000020;
def WFLG_REFRESHBITS = $000000c0;
def WFLG_SMART_REFRESH = $00000000;
def WFLG_SIMPLE_REFRESH = $00000040;
def WFLG_SUPER_BITMAP = $00000080;
def WFLG_OTHER_REFRESH = $000000c0;
def WFLG_BACKDROP = $00000100;
def WFLG_REPORTMOUSE = $00000200;
def WFLG_GIMMEZEROZERO = $00000400;
def WFLG_BORDERLESS = $00000800;
def WFLG_ACTIVATE = $00001000;
def WFLG_RMBTRAP = $00010000;
def WFLG_NOCAREREFRESH = $00020000;
def WFLG_NW_EXTENDED = $00040000;
def WFLG_NEWLOOKMENUS = $00200000;
def WFLG_WINDOWACTIVE = $00002000;
def WFLG_INREQUEST = $00004000;
def WFLG_MENUSTATE = $00008000;
def WFLG_WINDOWREFRESH = $01000000;
def WFLG_WBENCHWINDOW = $02000000;
def WFLG_WINDOWTICKED = $04000000;
def WFLG_VISITOR = $08000000;
def WFLG_ZOOMED = $10000000;
def WFLG_HASZOOM = $20000000;
def DEFAULTMOUSEQUEUE = (5);
struct NewWindow is
LeftEdge,TopEdge:word;
Width,Height:word;
DetailPen,BlockPen:ubyte;
IDCMPFlags:ulong;
Flags:ulong;
FirstGadget:ulong;
CheckMark:ulong;
Title:ulong;
Screen:ulong;
BitMap:ulong;
MinWidth,MinHeight:word;
MaxWidth,MaxHeight:uword;
Type:uword;
;
struct ExtNewWindow is
LeftEdge,TopEdge:word;
Width,Height:word;
DetailPen,BlockPen:ubyte;
IDCMPFlags:ulong;
Flags:ulong;
FirstGadget:ulong;
CheckMark:ulong;
Title:ulong;
Screen:ulong;
BitMap:ulong;
MinWidth,MinHeight:word;
MaxWidth,MaxHeight:uword;
Type:uword;
Extension:ulong;
;
def WA_Dummy = (TAG_USER+99);
def WA_Left = (WA_Dummy+$01);
def WA_Top = (WA_Dummy+$02);
def WA_Width = (WA_Dummy+$03);
def WA_Height = (WA_Dummy+$04);
def WA_DetailPen = (WA_Dummy+$05);
def WA_BlockPen = (WA_Dummy+$06);
def WA_IDCMP = (WA_Dummy+$07);
def WA_Flags = (WA_Dummy+$08);
def WA_Gadgets = (WA_Dummy+$09);
def WA_Checkmark = (WA_Dummy+$0a);
def WA_Title = (WA_Dummy+$0b);
def WA_ScreenTitle = (WA_Dummy+$0c);
def WA_CustomScreen = (WA_Dummy+$0d);
def WA_SuperBitMap = (WA_Dummy+$0e);
def WA_MinWidth = (WA_Dummy+$0f);
def WA_MinHeight = (WA_Dummy+$10);
def WA_MaxWidth = (WA_Dummy+$11);
def WA_MaxHeight = (WA_Dummy+$12);
def WA_InnerWidth = (WA_Dummy+$13);
def WA_InnerHeight = (WA_Dummy+$14);
def WA_PubScreenName = (WA_Dummy+$15);
def WA_PubScreen = (WA_Dummy+$16);
def WA_PubScreenFallBack = (WA_Dummy+$17);
def WA_WindowName = (WA_Dummy+$18);
def WA_Colors = (WA_Dummy+$19);
def WA_Zoom = (WA_Dummy+$1a);
def WA_MouseQueue = (WA_Dummy+$1b);
def WA_BackFill = (WA_Dummy+$1c);
def WA_RptQueue = (WA_Dummy+$1d);
def WA_SizeGadget = (WA_Dummy+$1e);
def WA_DragBar = (WA_Dummy+$1f);
def WA_DepthGadget = (WA_Dummy+$20);
def WA_CloseGadget = (WA_Dummy+$21);
def WA_Backdrop = (WA_Dummy+$22);
def WA_ReportMouse = (WA_Dummy+$23);
def WA_NoCareRefresh = (WA_Dummy+$24);
def WA_Borderless = (WA_Dummy+$25);
def WA_Activate = (WA_Dummy+$26);
def WA_RMBTrap = (WA_Dummy+$27);
def WA_WBenchWindow = (WA_Dummy+$28);
def WA_SimpleRefresh = (WA_Dummy+$29);
def WA_SmartRefresh = (WA_Dummy+$2a);
def WA_SizeBRight = (WA_Dummy+$2b);
def WA_SizeBBottom = (WA_Dummy+$2c);
def WA_AutoAdjust = (WA_Dummy+$2d);
def WA_GimmeZeroZero = (WA_Dummy+$2e);
def WA_MenuHelp = (WA_Dummy+$2f);
def WA_NewLookMenus = (WA_Dummy+$30);
def WA_AmigaKey = (WA_Dummy+$31);
def WA_NotifyDepth = (WA_Dummy+$32);
def WA_Pointer = (WA_Dummy+$34);
def WA_BusyPointer = (WA_Dummy+$35);
def WA_PointerDelay = (WA_Dummy+$36);
def WA_TabletMessages = (WA_Dummy+$37);
def WA_HelpGroup = (WA_Dummy+$38);
def WA_HelpGroupWindow = (WA_Dummy+$39);
def HC_GADGETHELP = (1);
include "inc/intuition/screens.inc";
include "inc/intuition/preferences.inc";
struct Remember is
NextRemember:ulong;
RememberSize:ulong;
Memory:ulong;
;
struct ColorSpec is
ColorIndex:word;
Red:uword;
Green:uword;
Blue:uword;
;
struct EasyStruct is
es_StructSize:ulong;
es_Flags:ulong;
es_Title:ulong;
es_TextFormat:ulong;
es_GadgetFormat:ulong;
;
def MENUNUM(n) = ((n)&$1f);
def ITEMNUM(n) = (((n)>>5)&$003f);
def SUBNUM(n) = (((n)>>11)&$001f);
def SHIFTMENU(n) = ((n)&$1f);
def SHIFTITEM(n) = (((n)&$3f)<<5);
def SHIFTSUB(n) = (((n)&$1f)<<11);
def FULLMENUNUM(menu,item,sub) = (SHIFTSUB(sub)|SHIFTITEM(item)|SHIFTMENU(menu));
def SRBNUM(n) = ($08-((n)>>4));
def SWBNUM(n) = ($08-((n)&$0f));
def SSBNUM(n) = ($01+((n)>>4));
def SPARNUM(n) = ((n)>>4);
def SHAKNUM(n) = ((n)&$0f);
def NOMENU = $001f;
def NOITEM = $003f;
def NOSUB = $001f;
def MENUNULL = $ffff;
def CHECKWIDTH = 19;
def COMMWIDTH = 27;
def LOWCHECKWIDTH = 13;
def LOWCOMMWIDTH = 16;
def ALERT_TYPE = $80000000;
def RECOVERY_ALERT = $00000000;
def DEADEND_ALERT = $80000000;
def AUTOFRONTPEN = 0;
def AUTOBACKPEN = 1;
def AUTODRAWMODE = JAM2;
def AUTOLEFTEDGE = 6;
def AUTOTOPEDGE = 3;
def AUTOITEXTFONT = NULL;
def AUTONEXTTEXT = NULL;
def SELECTUP = (IECODE_LBUTTON|IECODE_UP_PREFIX);
def SELECTDOWN = (IECODE_LBUTTON);
def MENUUP = (IECODE_RBUTTON|IECODE_UP_PREFIX);
def MENUDOWN = (IECODE_RBUTTON);
def MIDDLEUP = (IECODE_MBUTTON|IECODE_UP_PREFIX);
def MIDDLEDOWN = (IECODE_MBUTTON);
def ALTLEFT = (IEQUALIFIER_LALT);
def ALTRIGHT = (IEQUALIFIER_RALT);
def AMIGALEFT = (IEQUALIFIER_LCOMMAND);
def AMIGARIGHT = (IEQUALIFIER_RCOMMAND);
def AMIGAKEYS = (AMIGALEFT|AMIGARIGHT);
def CURSORUP = $4c;
def CURSORLEFT = $4f;
def CURSORRIGHT = $4e;
def CURSORDOWN = $4d;
def KEYCODE_Q = $10;
def KEYCODE_Z = $31;
def KEYCODE_X = $32;
def KEYCODE_V = $34;
def KEYCODE_B = $35;
def KEYCODE_N = $36;
def KEYCODE_M = $37;
def KEYCODE_LESS = $38;
def KEYCODE_GREATER = $39;
def TABLETA_Dummy = (TAG_USER+$3a000);
def TABLETA_TabletZ = (TABLETA_Dummy+$01);
def TABLETA_RangeZ = (TABLETA_Dummy+$02);
def TABLETA_AngleX = (TABLETA_Dummy+$03);
def TABLETA_AngleY = (TABLETA_Dummy+$04);
def TABLETA_AngleZ = (TABLETA_Dummy+$05);
def TABLETA_Pressure = (TABLETA_Dummy+$06);
def TABLETA_ButtonBits = (TABLETA_Dummy+$07);
def TABLETA_InProximity = (TABLETA_Dummy+$08);
def TABLETA_ResolutionX = (TABLETA_Dummy+$09);
def TABLETA_ResolutionY = (TABLETA_Dummy+$0a);
struct TabletData is
td_XFraction,td_YFraction:uword;
td_TabletX,td_TabletY:ulong;
td_RangeX,td_RangeY:ulong;
td_TagList:ulong;
;
struct TabletHookData is
thd_Screen:ulong;
thd_Width:ulong;
thd_Height:ulong;
thd_ScreenChanged:long;
;